{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "# _*Experiment with the Deutsch-Jozsa Algorithm in Aqua*_\n",
    "\n",
    "This notebook demonstrates how to experiment with the `Deutsch-Jozsa` algorithm in `Qiskit Aqua`.\n",
    "\n",
    "We first import all necessary modules."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from qiskit import BasicAer\n",
    "from qiskit.aqua import QuantumInstance\n",
    "from qiskit.aqua.algorithms import DeutschJozsa\n",
    "from qiskit.aqua.components.oracles import TruthTableOracle"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The [Deutsch-Jozsa algorithm](https://en.wikipedia.org/wiki/Deutsch-Jozsa_algorithm) is explained in more detail in the corresponding notebook located in the directory `algorithms`. We can experiment with it in Aqua by feeding it oracles created using truth tables. For example, we can create a `TruthTableOracle` instance as follows."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "bitstr = '11110000'\n",
    "oracle = TruthTableOracle(bitstr)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As shown, the truthtable is specified with the `bitstr` containing values of all entries in the table. It has length $8$, so the corresponding truth table is of $3$ input bits. We can of course see that this truth table represents a `'balanced'` function as half of values are $1$ and the other half $0$.\n",
    "\n",
    "It might seem like a moot point running Deutsch-Jozsa on a truthtable as the function outputs are literally listed as the truthtable's values. The intention is to create an oracle circuit whose groundtruth information is readily available to us but obviously not to the quantum Deutsch-Jozsa algorithm that is to act upon the oracle circuit. In more realistic situations, the oracle circuit would be provided as a blackbox to the algorihtm.\n",
    "\n",
    "Above said, we can inspect the circuit corresponding to the function encoded in the `TruthTableOracle` instance."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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NJr8/HyD93Nzc6VPi25if1WqVDl58mS7du2EECdPnty8ebP0bxmdO3c+cuRIWFhYcRvGxsY+/vjjLVu2tF+sthk5cmRcXJz0EOVff/115syZ06dP37p1q0ajGT58+KVLl/r3719iJR4eHs8999yKFStSU1OHDBmi1WoNCnTs2FF6cezYseIquXDhQkZGhhCia9eux44d6969e2FhYV5enhDC19d3wIABZ86ceeGFFwy2On36tNSXTDwg4b333qtYsWKdOnUKCwuLxlaUFd++RbuwoqXmNFPf2bNnpQqN/g0CgP3Jkm5ESRmHdGOfluqQbgAA7kzVZ9NmZnwXmN5wNg1A7TibLop0AwAK8Tb4/xs3bpjeQFrTvXHjRq1atfTfv3nzphCibNmy5u/7wIED5he2VFhY2I8//njq1Kl9+/alpqZWrVq1Xbt2jRs3NrFJcnLynj17Zs2apVxUSujWrVtMTMyhQ4eOHDmSlpYWEhJSr169zp07S5cyWVRPqVKlTp48ee7cOYMD1aZNG39//5ycHBOTBt3TEaKioipVqhQXF3fnzp3Lly/7+vo+/vjjxXWMli1blpikn3/++du3bwshunbtqtFoij5DuihLv32LdmFFS81ppj7d/dU7d+5s/lYAoCi50o0oPuOQbvQp11Id0g0AwM2p92zazIzvAtMbzqYBuADOposi3QCAEgxXfEtUt27d48ePX7lyxWDF988///T395euV3IekZGRkZGRZhZes2aNh4fHgAEDFA1JCd7e3u3bt5ce2GA1Ly+v0NDQ69ev37hxwyC/BgQExMTEbN26dceOHTk5Of7+/kU310+l0ouKFStWrFjRlpCMBml+YYu+ffN3YYeW7tixQwhRu3Zt09coAICdyZJuRPEZh3Sjj3QDAIAdcDZtFNMbAJAXZ9NGkW4AQF6eJRf5px49eggh/vjjD/03r1y5cufOnXbt2gUGBsoWmt3Fxsa+8MILlSpVcnQgitNdhaQvNzf31q1bQohGjRoV/XT06NFCiLS0tA0bNhitU0qlISEhCq36Z2ZmlipVSomaLd2F0i29e/fuvn37hBCjRo1Son4AsCdLMw7pRod0AwCAE+Js2pZdML0BAPNxNm31Lkg3ANyWxSu+MTExfn5+q1atys7O1r25cOFCIUT37t3lDM2+fvvtt/j4+KFDhzo6EHvo1avX+vXr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Ht69e/dBgwa1aNHCoWECANStsLBw48aN33333ffff5+Zmal7v0ePHkKIMmXKPP/883369OnZs6fBv4wBAGCR33//fe3atdu3b9f94k4I0bdvXyGEt7d369atX3zxxSFDhpQuXdpxMQJuxzWnd1OnTpX+6WT48OEpKSkZGRnnzp3r3bu3EGLTpk2zZs0qusnQoUMfPnz43Xff2TtWAP/066+/PvPMM127dv3tt98GDRq0f//+y5cvR0RE+Pn5SdeLTZkyJTk5ediwYfXr11+/fr1Wq3V0yAAAAMXKycmZM2dOnTp1Jk2a5OfnN3/+/GPHjiUkJAghevTocf78+a1bt3bo0GHDhg1PPvlknz59rly54uiQAQCqtH379saNG/fr1y8+Pn7ChAmHDh1KTEwsV65cxYoVpUeejR49+uzZs7169WrevPm+ffscHS8AQJXOnz/fvXv3Z555Ztu2bV27dt2xY8eFCxfat28vhLh58+aRI0dmz55dWFg4ceLEOnXqLF68OD8/39EhA+7CBVd8r1y5MnfuXCHEgAEDVqxYUalSJQ8Pj0aNGq1fv75nz55CiKlTp167ds1gqyZNmkRGRq5atcoBEQMQQgih1Wo//PDD5557Li0tbePGjQkJCfPmzevQoUPdunU9PDyEEOHh4c8+++y///3v48ePHz16tEaNGq+++mrXrl0fPnzo6NgBAACMuHXr1rPPPvvee++1b9/+8uXLP/zww1tvvdWiRYvKlSsLIXx8fBo0aPDiiy9+9dVXt27dWr58+S+//PLEE098/fXXjg4cAKAmubm5Q4YM6dGjR2Bg4IEDB86ePTtjxoznnnuuZs2aHh4eHh4etWvXbtu27axZsy5evLh//35PT8/OnTuPHDmSf4UHAFhkxYoVzZo1O3HixBdffHHjxo0vvviia9eu9evX9/b2FkJUqVLlySefnDhx4qFDh65evdq5c+exY8e2bNlSeqgNAKW54Irvl19+WVBQ4O/vP3v2bP33PT09582b5+XlVVBQsHbt2qIbDh069ODBg0UXgwHYQU5Ozssvvzx9+vTJkyf/+eefvXv3llZ5i9OiRYsff/xx7dq1Bw4caN26NfMGAADgbI4cOdK8efOkpKTffvtt48aNtWrVMlHYx8dnxIgRly9ffuGFFwYPHjxlyhS7xQkAULW0tLR27dp9++23S5YsOXLk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z549m3seAgAAZzBgwIB+/fqNGTPml19+sWLznJycl156KT8/f82aNbLHBgBwGdKvGjZt2jRjxgzrapg0adL333+/atWqSpUqyRsbAMBleHp6rlu3Li0trVevXkV/CmiOvXv3vvfee6NGjXrxxRfljg7A//z3egpvb++pU6dOnTr177//vnr1aqVKlerUqePn51d0g7p16x4/fvzKlSu1atXSf//PP//09/evWbOm+fs+cOCALaGbFhYW9uOPP546dWrfvn2pqalVq1Zt166d6dWg5OTkPXv28BtBwP7atWu3YMGCMWPG5ObmxsbGWnR/+C+//HLs2LEDBw58++23lYsQAADAfB4eHl999dXVq1e7dOmydu1ai/5d4+7du7179z558uS+ffu4wSYAwLRBgwZJv9ZIS0ubP3++p6enmRsWFha+//77c+bMmT59+ksvvaRokAAAtatfv/7GjRu7dOnSoUOHzZs3V6hQwfxtN23aNHjw4Keffvrzzz9XLkIAQvqNr77q1au3a9euYcOGRpd7hRA9evQQQvzxxx/6b165cuXOnTvt2rULDAxUKFDrREZG/utf/5ozZ8748eNL/PHfmjVrPDw8uI884BBvvPHGsmXLvvvuu3bt2pn5TN87d+70799/5MiRI0eO/Oqrr5SOEAAAwHz+/v579uxp2bLlyy+//OGHH2ZnZ5uz1U8//dS8efOzZ8/u2bMnOjpa4RgBAK7g008/ff/99xctWvTiiy9Kd+Ar0bVr155//vnPPvvsk08++b//+z+lIwQAuIBOnTpt3br11KlTzzzzzO+//27OJhkZGe+++27fvn07dOiwe/duX19fpYME3Jy5l/7pxMTE+Pn5rVq1Sv/fLBYuXCiEUPsjpmJjY1944QXuYwM4yqhRo/bt2/f33383btx4xIgRly9fLq5kSkrKjBkz6tSpExcXt3z58sWLF/MECAAA4GyCg4P37Nkzbty4GTNm1K1bd+XKlY8ePTJaUqvVHj58+IUXXmjfvn1wcPCRI0fat29v52gBACrl6en50UcfrVu37ueff65bt+7kyZOLPotN59q1axMmTHj88cdPnTq1bdu2SZMm6T/KDQAAE7p163b48GEvL69nnnnm5ZdfPn78eHElHzx4sHTp0oiIiAULFrz//vtbt24tXbq0PUMF3JPFaySlS5d+7733ZsyY0adP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ZGS0cePG8ePHBwQEhIeHl19CoGJVto7v6dOn1Q/e1PFt0qSJ+sGZM2de/enIkSNv3rx54MCB8kkHvHM+/PDDhw8fRkREmJmZleL0WbNmDR06dPz48a/9B6Vdnjx50q9fPwcHh/Xr16v3An8renp6wcHBtra2ffv2zcrKKo+EAACgWImJiaNHj+7bt+/8+fNLcXqNGjUiIiJycnIGDx4sebZXlffuGBs3bly1atWiRYu8vLxKcbqTk1NwcPCBAwfmzZsneTYA0GpKpbJfv37Vq1cPDQ01MjJ629NlMtnPP//s6uo6aNCg9PT08khYSAM7MV27dm348OG9e/devHhxKU6vWrVqWFiYXC738/OrfPtGAUAZTZ069a+//tq2bZudnV0pTh80aNCcOXMWLVoUEREheTYNU6lU/fv319fX37FjR0ludH6JTCZbunRp9+7dP/zww1u3bpVHQqDCvabjGxcX9+9//9vFxcXa2rpmzZpdu3adP39+eaz2vmrVqqlTp06dOlXC3aEK1xxr3LjxawcUHn/tfr09e/a0trYOCgqSKg/wLouMjNyzZ8+KFSsKr4QohTVr1lhYWEyfPl3CYIXS09OnT5/etGnTK1eu5Obm2tvbf/bZZ7dv3y6P51q8ePG9e/c2b9782l17S6JatWohISG3b99eunSptNkAAEAJBQQEVK9efe3atSVZWvO1bG1tf/nll8OHD4eFhUka7f+o3960atVKCLF9+/bye3uTnZ0dEBDQq1evKVOmlLqIt7f3hAkTfvjhh5SUFAmzAYC2++23386fP79hw4batWuXroKenl5ISIhSqfzqq6+kzaZW+Gn60aNHGRkZ5fppevbs2YaGhhs3btTR0SldBWtr699+++3EiRMhISHSZgMArXbp0qVVq1bNnDnzbe/ufdHcuXM7deo0bdq08li5p3C6iYyMFEKU63SzcePGhISEoKAgS0vL0lXQ1dUNDg7W0dH54osvpM0GvCsKXhAXF9e0adPXDnN2ds7JySmQVOHrVFJSUilO9/Ly6tat20sHCy8nPHv27GvPOn78uHrAkiVLXjsgICDA0NDw4cOHpYgEaBGVStW6detWrVrl5+cXMWzevHlVqlQputS6deuEEPv375c0YMGbmq9GRkbr16+X9rnS0tJMTEzGjRtX9LDu3bt7enoWPeajjz6qVq3a3bt3pUsH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LTs728nJad68ecnJyQUFBeKFG3yFEDVq1FCpVOrbgl+kvraiRo0aZW9Cl52VlVVCQoK7u7sQIiEhYdu2bervMnr16nXixAlzc/M3nRgYGNi0adOOHTtqLitQcdR3tS5ZsmTLli2lq/D06VOFQmFmZjZ79mxps2neoEGD3NzcRo4cmZiYWLoK586d++STT3r37i3toiUAAKDkpk+fXq9ePYVC8eDBg9JV2Llz57fffuvv7+/o6ChtNs1btmxZSkrKsGHDVCpV6SrMmjXr4MGDy5cvNzQ0lDYbAGi1rl27DhkyZMqUKTExMaWrkJKS4ufn17p16zFjxkibTfMmT55sZ2fXt2/fO3fulK7Cvn375syZM2bMmDZt2kibDQC0WrVq1RYvXhweHr5gwYLSVVAqle+///6TJ0++//57abNpnrOz80cffRQQEHDgwIHSVUhPTx8wYICjo+PEiROlzQa8I3SFELq6uv/5z3/Onj17584dc3PzevXqVa9eXf3jV/flVfd0b9261bBhwxePp6SkCCEKTyyJgwcPliF5MczNzffv33/q1Cn1Vl7W1tbu7u5FrwyTlpb2559/lvrVE9BG8+bNO3PmzMiRI2vXru3m5vZW5z579szPz+/atWvR0dG1atUqp4QaI5fLt2zZ4uzs7OPjs2/fvgYNGrzV6VevXvXx8bGwsNi0aZN6mQQAAKB51apVCw8P79SpU79+/cLDw9/q44kQ4vjx4x988IGHh0fl+FDQunXr33///YMPPpgyZcqSJUvedlnmX375ZeHChV988YWvr2/5BAQALbZmzZrExMR+/fpFRUU1b978rc69c+eOj49PQUFBWFiYvr5+OSXUGBMTk4iIiA4dOvj6+u7ateu1ezoW4eTJk4MGDXJxcVm2bFn5BAQALTZ8+PCEhITZs2dbW1t/+OGHb3WuUqkcO3bs/v37d+zY0aRJk3JKqEkrV668cOHCwIED9+3b97YXCd2/f9/X1zcrK+vQoUNGRkbllBCoWP//M7+Tk1P37t2bN29e9Nci9vb2QohX144/d+6coaGhra1teaQstdatW0+fPv3777/39/cvdiOQ9evXy2Syt33dBLSaXC4PDg5u2bJlr169Vq1aVfITb9y44erqeujQoU2bNlWai3DNzMx27tz57NkzZ2fno0ePlvzEgwcPOjs7K5XKnTt3viNLHQAA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\n",
      "text/plain": [
       "<PIL.Image.Image image mode=RGB size=2555x409 at 0x11C315080>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "oracle.circuit.draw(output='latex')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As seen, the $v_i$'s correspond to the 3 input bits; the $o_0$ is the oracle's output qubit; the $a_0$ is an ancilla qubit.\n",
    "\n",
    "Next we can simply create a `DeutschJozsa` instance using the oracle, and run it to check the result."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The truth table 11110000 represents a balanced function.\n"
     ]
    }
   ],
   "source": [
    "dj = DeutschJozsa(oracle)\n",
    "backend = BasicAer.get_backend('qasm_simulator')\n",
    "result = dj.run(QuantumInstance(backend, shots=1024))\n",
    "print('The truth table {} represents a {} function.'.format(bitstr, result['result']))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can of course quickly put together another example for a `'constant'` function, as follows."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The truth table 1111111111111111 represents a constant function.\n"
     ]
    }
   ],
   "source": [
    "bitstr = '1' * 16\n",
    "oracle = TruthTableOracle(bitstr)\n",
    "dj = DeutschJozsa(oracle)\n",
    "backend = BasicAer.get_backend('qasm_simulator')\n",
    "result = dj.run(QuantumInstance(backend, shots=1024))\n",
    "print('The truth table {} represents a {} function.'.format(bitstr, result['result']))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
